/**@FILE:OpenSearch.java
 * @AUTHOR:qingsheng.zheng
 * @DATE:2015-3-31 上午11:07:44*/
package com.fz.tool.aliyun.opensearch;

import java.util.HashMap;
import java.util.Map;
import com.opensearch.javasdk.CloudsearchClient;
import com.opensearch.javasdk.CloudsearchDoc;
import com.opensearch.javasdk.object.KeyTypeEnum;

/*******************************************
 * @COMPANY:alibaba
 * @CLASS:OpenSearch
 * @DESCRIPTION:	
 * @AUTHOR:qingsheng.zheng
 * @VERSION:v1.0
 * @DATE:2015-3-31 上午11:07:44
 *******************************************/
public class OpenSearch {
    /**
     * 阿里云OpenSearch采用Access Key 连接方式、相比solr安全系数不止提高了一个档次。
     */
    private static final String  ACCESSKEY = "xxx";
    private static final String  SECRET  = "xxx";
    private static final String  INDEXNAME = "52itstyle";
    private static final String  URL = "http://opensearch.aliyuncs.com";
    private CloudsearchClient client;
    public void init() {
       Map<String, Object> opts = new HashMap<String, Object>();
       opts.put("host", URL);
       client = new CloudsearchClient(ACCESSKEY, SECRET , opts,KeyTypeEnum.ALIYUN);
    }
    /**
     * 测试数据插入
     * @throws JSONException
     * @throws ClientProtocolException
     * @throws IOException
     */
    public void addTest() throws Exception{
        CloudsearchDoc doc = new CloudsearchDoc(INDEXNAME, client);
        Map<String, Object> ques = new HashMap<String, Object>();
        //开始时间
        Long beginDate = System.currentTimeMillis();
        //插入50000条数据测试
        for(int i=0;i<=50000;i++){
            ques.put("id", "200003"+i);//ID主键
            ques.put("title", "搞网站运营已有6年时间了）");
            ques.put("content", "搞网站运营已有6年时间了，期间运营过大大小的网站10多个，空间、VPS国内国外都使用过。国内最普遍的环境就是不稳定，隔三差五不是被攻击就是线路调整。一直困惑不已。  ");
            doc.add(ques);
            //每加入1000条数据结束之后push一下
            if(i%1000==0){
                doc.push("article");
            }
        }
        //结束时间
        Long endDate = System.currentTimeMillis();
        System.out.print("插入50000条数据:"+(endDate-beginDate));
    }
}
